package com.amsp.oa.common.valid;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.HashSet;
import java.util.Set;

/**
 * @PROJECT_NAME: oa-test
 * @DESCRIPTION: 不要自卑，你不比别人笨。不要自满，别人不比你笨。
 * 与其羡慕别人，不如提升自己。
 * 今日事，今日毕。
 * @USER: YanJiaWei
 * @VERSION: V1.0
 * @DATE: 2025/3/10 09:05
 */
public class IntegerValueConstraintValidator implements ConstraintValidator<IntegerValue, Integer> {
    private Set<Integer> set = new HashSet<>();

    //初始化方法
    @Override
    public void initialize(IntegerValue constraintAnnotation) {
        int[] vals = constraintAnnotation.vals();
        for (Integer val : vals) {
            set.add(val);
        }
    }

    //判断是否校验成功

    /**
     * @param value   需要校验的值
     * @param context
     * @return
     */
    @Override
    public boolean isValid(Integer value, ConstraintValidatorContext context) {

        return set.contains(value);
    }
}
